# 创建一个电子设备类Device，具有以下属性和方法：
# 属性: 设备名称(name)、生产厂商(manufacturer)、是否开机(is_on)
# 方法:
# 初始化方法(__init__): 初始化设备的名称、生产厂商和开机状态（默认为关闭）。
# 打开设备(turn_on): 将设备的开机状态设置为True。
# 关闭设备(turn_off): 将设备的开机状态设置为False。
# 获取设备信息(get_info): 返回设备的名称、生产厂商和开机状态。

# 创建一个手机类Phone，继承自Device，具有以下额外属性和方法：
# 额外属性: 手机号码(phone_number)、操作系统(operating_system)
# 额外方法:
# 初始化方法(__init__): 调用父类的初始化方法，并初始化手机的手机号码和操作系统。
# 发送短信(send_message): 接受一个接收者和消息内容作为参数，输出短信发送成功的信息。

# 创建一个电脑类Computer，继承自Device，具有以下额外属性和方法：
# 额外属性: CPU型号(cpu_model)、内存大小(ram_size)
# 额外方法:
# 初始化方法(__init__): 调用父类的初始化方法，并初始化电脑的CPU型号和内存大小。
# 运行程序(run_program): 接受一个程序名称作为参数，输出程序运行成功的信息。
# 要求:

# 实现以上所述的属性和方法。
# 在发送短信和运行程序的方法中，需要考虑设备是否处于开机状态。
# 编写测试代码，创建手机对象、电脑对象，进行设备的开机、关机操作，以及手机发送短信和电脑运行程序的操作

class Device:
    def __init__(self,name,home):
        self.name = name
        self.home = home
        self.is_on = False
    
    # 开
    def turn_on(self):
        self.is_on = True
        return '开机成功!!!'
    # 关
    def turn_off(self):
        self.is_on = False
        return '关机成功!!!'

    # get_info获取设备信息
    def get_info(self):
        return self.name, self.age, self.is_on
    

class Phone(Device):
    def __init__(self, name, home, phone_number, os):
        super().__init__(name, home)
        self.phone_number = phone_number
        self.os = os
# 发送短信(send_message):
    def send_message(self, use, msg):
        if self.is_on == True:
            return f'您给{use}发送的"{msg}"已成功'
        else:
            return '你没开机,发送失败'
        

class Computer(Device):
    def __init__(self, name, home, cpu, rom):
        super().__init__(name, home)
        self.cpu = cpu
        self.rom = rom
    
    def run_app(self, app):
        if self.is_on == True:
            return f'{app}启动!!!'
        else:
            return '你没开机'
        
# 编写测试代码，创建手机对象、电脑对象，进行设备的开机、关机操作，以及手机发送短信和电脑运行程序的操作
my_phone = Phone('meizu','深圳','17788577853','安卓')
my_computer = Computer('ASUA','台湾','AMD',12)
my_phone.turn_on() # 开机
my_computer.turn_on()
print(my_phone.send_message('张三','元神!!启动!!'))
print(my_computer.run_app('元神'))